﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Models;
using BLL;
using Common;
namespace AGVControlSystemPro
{
    public partial class FrmLogin : Form
    {
        private SysAdminManager objSysAdminManager = new SysAdminManager();//定义一个用户登录变量
        public FrmLogin()
        {
            InitializeComponent();
        }

        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (this.txtLoginId.Text.Trim().Length == 0)
            {
                if (CommonMethods.LanguageId == 3) MessageBox.Show("ログインアカウントを入力してください", "ログイン");
                else MessageBox.Show("请输入登录账号", "登录提示");
                this.txtLoginId.Focus();
                return;
            }
            if (this.txtLoginPwd.Text.Trim().Length == 0)
            {
                if (CommonMethods.LanguageId == 3) MessageBox.Show("ログインパスワードを入力してください", "ログイン");
                else MessageBox.Show("请输入登录密码", "登录提示");
                this.txtLoginPwd.Focus();
                return;
            }
            if (!Common.DataValidate.IsInteger(this.txtLoginId.Text.Trim()))
            {
                if (CommonMethods.LanguageId == 3) MessageBox.Show("ログインアカウントは整数にしなければなりません", "ログイン");
                else MessageBox.Show("登录账号必须为整数", "登录提示");
                this.txtLoginId.Focus();
                return;
            }
            //封装数据
            SysAdmins objSysAdmin = new SysAdmins()
            {
                LoginId = Convert.ToInt32(this.txtLoginId.Text.Trim()),
                LoginPwd = this.txtLoginPwd.Text.Trim()
            };
            try
            {
                objSysAdmin = objSysAdminManager.SysAdminLogin(objSysAdmin);
                if (objSysAdmin != null)
                {
                    if (objSysAdmin.AdminStatus == 1)
                    {
                        Program.currentAdmins = objSysAdmin;
                        this.DialogResult = DialogResult.OK;
                        this.Close();
                    }
                    else
                    {
                        if (CommonMethods.LanguageId == 3) MessageBox.Show("このアカウントは既に使用禁止されており、ログインに失敗しました。", "ログイン");
                        else MessageBox.Show("该账户已被禁用，登录失败", "登录提示");
                    }
                }
                else
                {
                    if (CommonMethods.LanguageId == 3) MessageBox.Show("ログインIDまたはログインパスワードのエラー", "ログイン");
                    else MessageBox.Show("登录失败，登录账号或者登录密码错误", "错误提示");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        #region 改善客户体验
        private void txtLoginId_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyValue == 13)
            {
                this.txtLoginPwd.Focus();
                this.txtLoginPwd.SelectAll();
            }
        }

        private void txtLoginPwd_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyValue == 13)
            {
                btnLogin_Click(null,null);
            }
        }
        #endregion

        private void txtLoginPwd_TextChanged(object sender, EventArgs e)
        {

        }

    }
}
